/*
 ============================================================================
 Name        : Fibonaci.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>

int fibonacci_rek(int n) {
	int ergebnis;

	if (n == 1 || n == 2)
		return 1;

	else {
		ergebnis = fibonacci_rek(n - 1) + fibonacci_rek(n - 2);
	}

	return ergebnis;
}

int fibonacci_iter(int n) {
	int i = 3, ergebnis, ergebnis_alt;
	if (n == 1 || n == 2)
		return 1;

	while (i <= n) {

		if (i == 3) {
			ergebnis_alt = 1;
			ergebnis = 2;
		}

		else {
			ergebnis_alt = ergebnis - ergebnis_alt;
			ergebnis = ergebnis + ergebnis_alt;
		}

		i++;
	}

	return ergebnis;
}

int main(void) {

	int n = 10;

	printf("itterativ fib(%d) = %d\n", n, fibonacci_iter(n));
	printf("rekursiv  fib(%d) = %d\n", n, fibonacci_rek(n));

	return EXIT_SUCCESS;
}
